package samples.chapter10;

import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 第10章 Spring Boot安全管理
 * 10.1 Spring Security的基本的配置
 * 10.1.1 基本用法
 * 1 创建项目，添加依赖
 * 2 添加hello测试
 * 3 启动项目测试
 * 10.1.3 基于内存的认证
 * 10.1.4 HttpSecurity
 * 10.1.5 登录表单详细配置
 * 10.1.6 注销登录配置
 * 10.1.7 多个HttpSecurity
 * 10.1.8 密码加密
 * 10.1.9 方法安全
 * 10.2 基于数据库的认证
 * 1 设计数据库表
 * 2 创建项目
 * 3 配置数据库
 * 4 创建实体类
 * 5 创建UserService
 * 6 配置Spring Security
 * 10.3.1 角色继承
 * 10.3.2 动态配置权限
 * 1 数据库设计
 * 2 自定义FilterInvocationSecurityMetadataSource
 * 3 自定义AccessDecisionManager
 * 4 配置
 * 10.4 OAuth2
 * 10.4.1 OAuth2简介
 * 10.4.2 OAuth2角色
 * 10.4.3 OAuth2授权流程
 * 10.4.4 授权模式
 * 10.4.5 实践
 * 1 创建项目，添加依赖
 * 2 配置授权服务器
 * 3 配置资源服务器
 * 4 配置Security
 * 5 测试验证
 * 10.5 Spring Boot整合Shiro
 */
@RequestMapping("chapter10")
@RestController
public class Chapter10Controller {

    public static void main(String[] args) {
        // 创建 BCryptPasswordEncoder 实例
        BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
        // 原始密码
        String password = "123456";
        // 进行加密
        String encodedPassword = encoder.encode(password);
        System.out.println("加密后的密码: " + encodedPassword);
    }
}


